An example of an I/O system in which an I/O (Input/Output) device is shared by a plurality of computers is disclosed in PTL1.
FIG. 17 is a block diagram illustrating a configuration of the I/O system in PTL1.
With reference to FIG. 17, the I/O system in PTL1 includes a plurality of operational computers 700 (700-1, 700-2, . . . , 700-N), an I/O device 900 shared by the plurality of operational computers 700, and a virtualization bridge 800. The I/O device 900 conforms to the SR-IOV (Single Root I/O Virtualization) standard. The respective operational computers 700 are connected to the virtualization bridge 800 via a network.
The I/O device 900 includes a PF (Physical Function) 910 and a plurality of VFs (Virtual Function) 920 (920-1, 920-2, . . . , 920-N). The PF 910 is an interface for controlling the I/O device 900. The VFs 920 (920-1, 920-2, . . . , 920-N) are interfaces for providing functions of the I/O device 900 through virtualization. The VFs 920-1, 920-2, . . . , 920-N are associated with the operational computers 700-1, 700-2, . . . , 700-N, respectively.
The PF 910 includes a PF configuration register (PF CFG REG) 911 for configuring the PF 910. The VFs 920 include VF configuration registers (VF CFG REG) 921 (921-1, 921-2, . . . , 921-N) for configuring the VFs 920.
The virtualization bridge 800 provides the plurality of operational computers 700 with virtual functions of the I/O device 900. The virtualization bridge 800 allocates VF map areas for performing memory access to the VFs 920 in an I/O address space. The virtualization bridge 800 also provides the operational computers 700 with access to virtual VF CFG REGs 821 (821-1, 821-2, . . . , 821-N), into which the VF CFG REGs 921 are virtualized.
Each operational computer 700 allocates a virtual VF map area in an address space in the operational computer 700 and sets the allocated virtual VF map area into a virtual VF CFG REG 821.
The virtualization bridge 800 provides the plurality of operational computers 700 with memory access to the VFs 920 by performing address translation between the address spaces in the operational computers 700 and the I/O address space on the basis of the virtual VF CFG REGs 821.
Further, in such an I/O system, making a computer different from the virtualization bridge 800 perform control intrinsic to the I/O device 900 makes it possible to simplify the management of the I/O device 900 in the virtualization bridge 800.
FIG. 18 is a block diagram illustrating a configuration of a system that is configured by adding a management computer 600 to the I/O system in PTL1.
In FIG. 18, the virtualization bridge 800 allocates a PF map area for performing memory access to the PF 910 in the I/O address space. The virtualization bridge 800 also provides the management computer 600 with access to a virtual PF CFG REG 811 into which the PF CFG REG 911 is virtualized.
The management computer 600 allocates a virtual PF map area in an address space in the management computer 600 and sets the allocated virtual PF map area into the virtual PF CFG REG 811.
The virtualization bridge 800 provides the management computer 600 with memory access to the PF 910 by performing address translation between the address space in the management computer 600 and the I/O address space on the basis of the virtual PF CFG REG 811.